package coba.mailing.query;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import coba.mailing.model.Solicitud;

public class FindSolicitudWhereFechaMail7y8IsNullAndFechaItinerarioBetween {

	public static List<Solicitud> find(Connection con, Date fechaDesde, Date fechaHasta) throws SQLException {

		String sql = " select * from COBA_Solicitudes s "
				+ " inner join COBA_Contactos c on s.contactoId = c.id_ and s.fechaItinerario is not null "
				+ " and s.fechaMail7y8 is null and s.fechaBaja is null "
				+ " and s.fechaItinerario between ? and ? "
				+ " inner join COBA_FormularioGrupo fg on fg.solicitudId = s.id_ ";

		PreparedStatement stmt = con.prepareStatement(sql);

		stmt.setObject(1, fechaDesde);
		stmt.setObject(2, fechaHasta);

		ResultSet rs = stmt.executeQuery();

		List<Solicitud> list = new LinkedList<Solicitud>();

		while (rs.next()) {
			Solicitud obj = new Solicitud(
					rs.getLong("s.id_"),
					rs.getLong("s.itinerarioId"),
					rs.getDate("s.fechaItinerario"),
					rs.getString("s.modalidad"),
					rs.getLong("s.cantidadParticipantes"),
					rs.getLong("s.cantidadCoordinadores"),
					rs.getLong("s.cantidadMicros"),
					rs.getString("fg.codigoUnico"),
					null,
					rs.getString("c.email"),
					null,
					rs.getLong("s.discapacidad"),
					rs.getLong("s.cantidadPersonasDiscapacidad"),
					rs.getDate("s.fechaConfirmacionItinerario"),
					null,
					null,
					null);

			list.add(obj);
		}

		rs.close();
		stmt.close();

		return list;

	}

}
